var CryptoJS = require('./core');
require('./cipher-core');

/**
 * ISO/IEC 9797-1 Padding Method 2.
 */
CryptoJS.pad.Iso97971 = {
  pad: function(data, blockSize) {
    // Add 0x80 byte
    data.concat(CryptoJS.lib.WordArray.create([0x80000000], 1));

    // Zero pad the rest
    CryptoJS.pad.ZeroPadding.pad(data, blockSize);
  },

  unpad: function(data) {
    // Remove zero padding
    CryptoJS.pad.ZeroPadding.unpad(data);

    // Remove one more byte -- the 0x80 byte
    data.sigBytes--;
  }
};

module.exports = CryptoJS.pad.Iso97971;
